home *** CD-ROM | disk | FTP | other *** search
/ Delphi Magazine Collection 2001 / Delphi Magazine Collection 20001 (2001).iso / DISKS / Issue28 / hash / HASH.ZIP / TestHash.pas < prev   
Encoding:
Pascal/Delphi Source File  |  1997-09-29  |  1.7 KB  |  92 lines

  1. //----------------------------------------------------------------------------
  2. // File:          TestHash.pas
  3. // Typ:           Delphi - Unit
  4. // Author:        Peter Welkenbach
  5. // Date:          28.09.97
  6. // Last update:
  7. // Compiler:      Delphi 3.0
  8. // Remarks:       Test THashTable
  9. //----------------------------------------------------------------------------
  10.  
  11.  
  12. unit TestHash;
  13.  
  14. interface
  15.  
  16. uses
  17.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  18.   StdCtrls, Buttons;
  19.  
  20. type
  21.   TForm1 = class(TForm)
  22.     BitBtn1: TBitBtn;
  23.     Label1: TLabel;
  24.     Memo1: TMemo;
  25.     BitBtn2: TBitBtn;
  26.     Edit1: TEdit;
  27.     Label2: TLabel;
  28.     BitBtn3: TBitBtn;
  29.     Label3: TLabel;
  30.     procedure BitBtn1Click(Sender: TObject);
  31.     procedure BitBtn2Click(Sender: TObject);
  32.     procedure BitBtn3Click(Sender: TObject);
  33.   private
  34.     { Private-Deklarationen }
  35.   public
  36.     { Public-Deklarationen }
  37.   end;
  38.  
  39. var
  40.   Form1: TForm1;
  41.  
  42. implementation
  43.  
  44. uses hash;
  45.  
  46. {$R *.DFM}
  47.  
  48. var
  49.   HT:  THashTable;
  50.  
  51. procedure TForm1.BitBtn1Click(Sender: TObject);
  52. var
  53.   i: integer;
  54.   dummy: String;
  55. begin
  56.   HT := THashTable.Create;
  57.   HT.Init(100);
  58.   for i:=0 to Memo1.lines.count-1 do begin
  59.       dummy := UpperCase(Trim(Memo1.lines[i]));
  60.       HT.AddElementToSlot( dummy, NIL);
  61.   end;
  62. end;
  63.  
  64.  
  65. procedure TForm1.BitBtn2Click(Sender: TObject);
  66. var
  67.   dummy: string;
  68.   HO: THashObj;
  69. begin
  70.  
  71.   dummy := UpperCase(Trim(Edit1.Text));
  72.   HO := HT.GetElementFromSlot( dummy );
  73.  
  74.   if HO <> NIL then
  75.     label2.caption := HO.Name
  76.   else
  77.     label2.caption := 'NIL';
  78.  
  79.  
  80. end;
  81.  
  82. procedure TForm1.BitBtn3Click(Sender: TObject);
  83. var
  84.   dummy: String;
  85.  
  86. begin
  87.   dummy := UpperCase(Trim(Edit1.Text));
  88.   HT.DelElementFromSlot( dummy );
  89. end;
  90.  
  91. end.
  92.